package com.iias.common.util.arr;

import java.lang.reflect.Array;
import java.util.Collection;

/**
 * 常用数组操作工具类
 */
public class ZbArrayUtils {

    /**
     * 数组是否为空
     * @param ts
     * @return
     */
    public static<T> boolean empty(T[] ts){
        if (ts == null || ts.length == 0)return true;
        return false;
    }

    /**
     * 数组是否为空
     * @param ts
     * @return
     */
    public static<T> boolean notEmpty(T[] ts){
        if (ts == null || ts.length == 0)return false;
        return true;
    }

    /**
     * 集合转数组
     * @param ct 需要转换的集合
     * @param <T>
     * @return
     */
    public static <T> T[] listToArr(Collection<T> ct){
        if (ct.isEmpty())return null;
        T first = ZbCollectionUtils.getFirst(ct);
        Object arr = Array.newInstance(first.getClass(), ct.size());
        int index = 0;
        for (T t : ct) {
            Array.set(arr,index,t);
            index++;
        }
        return (T[]) arr;

    }
}
